import CarFactory.AudiCarFactory;
import CarFactory.BenziCarFactory;
import CarFactory.BmwCarFactorty;
import CarFactory.ICarFactory;
import Product.AbstractProductSedanCar;
import Product.AbstractProductSuvCar;
import Product.AbstractProductTruckCar;

public class Main {
    public static void main(String[] args) {
        AbstractProductSedanCar carSedan;
        AbstractProductSuvCar carSuv;
        AbstractProductTruckCar carTruck;
        ICarFactory carFactory1 = new BmwCarFactorty();
        carSedan = carFactory1.createSedanCar();
        carSuv = carFactory1.createSuvCar();
        carTruck = carFactory1.createTruckCar();
        System.out.println(carSedan.showInfo());
        System.out.println(carSuv.showInfo());
        System.out.println(carTruck.showInfo());
        System.out.println("---------------------------------------");
        ICarFactory carFactory2 = new AudiCarFactory();
        carSedan = carFactory2.createSedanCar();
        carSuv = carFactory2.createSuvCar();
        carTruck = carFactory2.createTruckCar();
        System.out.println(carSedan.showInfo());
        System.out.println(carSuv.showInfo());
        System.out.println(carTruck.showInfo());
        ICarFactory carFactory3 = new BenziCarFactory();
        System.out.println("---------------------------------------");
        carSedan = carFactory3.createSedanCar();
        carSuv = carFactory3.createSuvCar();
        carTruck = carFactory3.createTruckCar();
        System.out.println(carSedan.showInfo());
        System.out.println(carSuv.showInfo());
        System.out.println(carTruck.showInfo());
    }
}